import { getUserAPI } from '@/api/user'

export default {
  // 开启命名空间
  namespaced: true,
  state() {
    return {
      token: '',
      user: {}
    }
  },
  mutations: {
    // 每次登录成功都将服务器放回的token存在vuex中
    updateToken(state, val) {
      state.token = val
    },
    // 更新用户信息
    updateUser(state, val) {
      state.user = val
    }
  },
  actions: {
    async getUserInfo(store) {
      // 获取到用户信息并解构出来
      const { data: res } = await getUserAPI()
      // 判断是否请求成功
      if (res.code === 0) {
        // 调用mutations当中的方法去更新用户信息
        store.commit('updateUser', res.data)
      }
    }
  }
}
